
#ifndef PIPELINE_H
#define PIPELINE_H
#include <qobject.h>
#include <qstring.h>
class SnapCaculator;
class SensorNotify;
class Snap;
class SnapGenerator;
class Warnning;
class SpeedMonitor;
class SensorMonitor;
class Setting;
class History;
class NumKeyBoard;
class MainUi;
class PipeLine : public QObject
{
	Q_OBJECT
	
	public:

		PipeLine(int id);
		~PipeLine();
		void registerNotify(SensorMonitor* sm);

	private:
		SpeedMonitor* m_speedMonitor;
		SnapCaculator* m_snapCaculator;
		SnapGenerator* m_snapGenerator;
		Snap* m_fSnap;
		Snap* m_bSnap;
		Setting* m_setting;
		History* m_history;
		NumKeyBoard* m_keyBoard;
		Warnning* m_warnning;
		int m_id;

	signals:
		void stateChange(const QString&);
	public slots:
		void settingDlgShow(); 
		void historyDlgShow(); 

};
#endif
